﻿using T.FAS.Runtime.DataAccess.SPI;
using T.FAS.Runtime.Metadata.Entity.DataModel;

namespace T.FAS.Runtime.DataAccess.SPI
{
    public interface IDataAccessEngine
    {
        IDeleteService<CompositeDataObject> CreateCDODeleteService();
        IQueryService<CompositeDataObject> CreateCDOQueryService();
        ISaveService<CompositeDataObject> CreateCDOSaveService();
        IUpdateService<CompositeDataObject> CreateCDOUpdateService();
        IModelQueryService<DataQuery> CreateDataQueryService();
        IDeleteService<DataObject> CreateDODeleteService();
        IQueryService<DataObject> CreateDOQueryService();
        ISaveService<DataObject> CreateDOSaveService();
        IUpdateService<DataObject> CreateDOUpdateService();
        ISQLService CreateSQLService();
    }
}